Biometric feature database establishing method and apparatus

ABSTRACT

A usage frequency attribute is determined for each biometric feature in a biometric feature database. The usage frequency attribute indicates a matching success frequency of matching the biometric feature to a user having the biometric feature. The biometric features of the user are sorted in descending order of the usage frequency attribute. The sorting is based on a descending order of the usage frequency attributes for a given user. The biometric features in the biometric feature database are stored in descending order. The storing includes providing prioritized access to the biometric feature having a highest value of the usage frequency attribute so that the biometric feature is selected first in response to a request for the biometric feature of the user.

This application is a continuation of U.S. application Ser. No.16/048,573, Jul. 30, 2018, which claims priority to Chinese PatentApplication No. 201710637558.4, filed on Jul. 31, 2017, which is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

The present disclosure relates to the field of computer technologies,and in particular, to a biometric feature database constructing methodand apparatus.

BACKGROUND

In the biometric identification technology, a computer is used toidentify a user based on physiological features (such as fingerprint,iris, physiognomy, or DNA) or behavioral features (such as the user'sgait or keystroke habit). For example, fingerprint recognition, facialrecognition, iris recognition, etc. are all biometric identification.

When the biometric identification technology is used to identify a user,a feature can usually be stored in a biometric feature database. Thus, abiometric feature of the user generated during initial registration isstored in the database. When identification is performed, the biometricfeature of the user that is identified can be compared with features inthe biometric feature database to identify the user.

SUMMARY

In view of the above, one or more implementations of the presentspecification provide a biometric feature database constructing methodand apparatus to accelerate biometric identification.

The one or more implementations of the present specification areimplemented by using the following technical solutions:

According to a first aspect, a biometric feature database constructingmethod is provided, and the method includes the following: obtaining ausage frequency attribute of each biometric feature in a biometricfeature database, where the usage frequency attribute is used toindicate matching success frequency of the biometric feature; andarranging the biometric features in descending order of matching successfrequency based on the usage frequency attribute, so a biometric featurewith higher frequency is preferably used to perform recognition,matching, and comparison.

According to a second aspect, a facial recognition payment method isprovided, and the method includes the following: obtaining a facialfeature that is recognized of a payer; comparing facial features in afacial feature database with the facial feature that is recognized basedon feature ranks, where the feature ranks are obtained after the facialfeatures are arranged based on usage frequency attributes of the facialfeatures, and a facial feature with higher usage frequency is preferablyused to perform matching and comparison; and when a matched facialfeature is obtained, performing payment by using a payment accountcorresponding to the facial feature.

According to a third aspect, a biometric feature database constructingapparatus is provided, and the apparatus includes the following: aparameter acquisition module, configured to obtain a usage frequencyattribute of each biometric feature in a biometric feature database,where the usage frequency attribute is used to indicate matching successfrequency of the biometric feature; and a feature arrangement module,configured to arrange the biometric features in descending order ofmatching success frequency based on the usage frequency attribute, so abiometric feature with higher frequency is preferably used to performrecognition, matching, and comparison.

According to a fourth aspect, a data processing device is provided. Thedevice includes a memory, a processor, and a computer instruction, thecomputer instruction is stored in the memory and can run on theprocessor, and the processor executes the instruction to implement thefollowing steps: obtaining a usage frequency attribute of each biometricfeature in a biometric feature database, where the usage frequencyattribute is used to indicate matching success frequency of thebiometric feature; and arranging the biometric features in descendingorder of matching success frequency based on the usage frequencyattribute, so a biometric feature with higher frequency is preferablyused to perform recognition, matching, and comparison.

According to the biometric feature database constructing method andapparatus in the one or more implementations of the presentspecification, the biometric features are arranged in descending orderof matching success frequency. If a biometric feature is frequentlysuccessfully matched or is recently successfully matched, the featuremay be successfully matched during subsequent matching. During featurerecognition, the comparison is preferably performed among features withhigher frequency to quickly find a matched feature.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in one or more implementations ofthe present specification, or in the existing technology more clearly,the following briefly describes the accompanying drawings for describingthe implementations or the existing technology. Apparently, theaccompanying drawings in the following description merely show someimplementations described in the one or more implementations of thepresent specification, and a person of ordinary skill in the art canstill derive other drawings from these accompanying drawings withoutcreative efforts.

FIG. 1 is a flowchart illustrating a biometric feature databaseconstructing method, according to one or more implementations of thepresent specification;

FIG. 2 is a diagram illustrating an application system of facialrecognition payment, according to one or more implementations of thepresent specification;

FIG. 3 is a flowchart illustrating a facial recognition payment method,according to one or more implementations of the present specification;

FIG. 4 is a structural diagram illustrating a biometric feature databaseconstructing apparatus, according to one or more implementations of thepresent specification;

FIG. 5 is a structural diagram illustrating a biometric feature databaseconstructing apparatus, according to one or more implementations of thepresent specification; and

FIG. 6 is a flowchart illustrating an example of a computer-implementedmethod for identifying and providing prioritized access to biometricfeatures based on usage frequency, according to an implementation of thepresent disclosure.

DESCRIPTION OF EMBODIMENTS

To make a person skilled in the art understand the technical solutionsin one or more implementations of the present specification better, thefollowing clearly and completely describes the technical solutions inthe one or more implementations of the present specification withreference to the accompanying drawings. Apparently, the describedimplementations are merely some but not all of the implementations ofthe present specification. Other implementations obtained by a person ofordinary skill in the art based on the one or more implementations ofthe present specification without creative efforts shall fall within theprotection scope of the present disclosure.

Biometric identification can be performed to identify a user. In anactual application, a biometric feature database including biometricfeatures of a plurality of users can be used. When identification isperformed, a biometric feature of a user that is identified can becompared with features in the biometric feature database to obtain anidentity of the user. During the comparison, the biometric feature ofthe user can be compared with the features in the biometric featuredatabase one by one based on feature ranks. A biometric feature databaseconstructing method provided by one or more implementations of thepresent specification can be used to arrange the biometric features inthe biometric feature database, so a matched feature can be found morequickly when the biometric feature is compared with the arrangedfeatures one by one.

FIG. 1 illustrates a biometric feature database constructing method inan example. The method can include the following steps.

Step 100: Obtain a usage frequency attribute of each biometric featurein a biometric feature database, where the usage frequency attribute isused to indicate matching success frequency of the biometric feature.

Step 102: Arrange the biometric features in descending order of matchingsuccess frequency based on the usage frequency attribute, so a biometricfeature with higher frequency is preferably used to perform recognition,matching, and comparison.

In the feature arrangement method in this example, a feature with highermatching success frequency can be arranged in the front, so thatcomparison can be preferably performed on this feature in a featurerecognition process. For example, the feature with higher matchingsuccess frequency can be a feature that has recently been successfullymatched with a feature that is recognized, or it can be a feature thatis frequently successfully matched with the feature that is recognized.If a biometric feature is frequently successfully matched or is recentlysuccessfully matched, the feature may be successfully matched duringsubsequent matching. During feature recognition, the comparison ispreferably performed among features with higher frequency to quicklyfind a matched feature.

In the following example of facial recognition in biometricidentification, facial recognition payment is used as an example fordescription. However, it can be understood that another type ofbiometric identification can also be applied to the biometric featuredatabase constructing method in one or more implementations of thepresent specification, and a biometric feature can be applied to aplurality of application scenarios, for example, facial recognition canalso be applied to a service other than payment.

Facial recognition can be applied to offline payment. For example,during credit card payment or QR code payment, a user needs to carry acredit card or a smartphone and interact with a machine. For example,during QR code payment, the user needs to take a smartphone to open apayment application, and a POS machine of a merchant scans a QR code, sopayment is completed. These payment means are relatively complicated.

Facial recognition payment means applying facial recognition to payment,and its concept has existed for a long time. Facial recognition hasbecome highly accurate after years of development, but carefulconsideration should be given if facial recognition is to be used forpayment. Because accuracy and speed need to be very high during facialrecognition payment in the offline payment scenario, facial recognitionhas not been used yet in an actual payment scenario. If the facialrecognition payment is applied to the offline payment scenario, the userdoes not need to carry a credit card or a smartphone, therebyaccelerating payment. The following example can provide a facialrecognition payment method to satisfy performance needs of a paymentscenario on facial recognition payment.

FIG. 2 illustrates a diagram of an application system of facialrecognition payment. As shown in FIG. 2, the system can include a dataprocessing device 11 of a payment institution, an intelligent terminal13 of a user 12, and a checkout counter 14 of a merchant. The dataprocessing device 11 can be a background server of the paymentinstitution. In this example, the user 12 is one that pays and can bereferred to as a payer. The intelligent terminal 13 can be a smartphone.

With reference to the procedure shown in FIG. 2 and FIG. 3, how the user12 activates a facial recognition payment function and pays by using thefacial recognition payment function is described. As shown in FIG. 3,the procedure can include the following steps.

Step 300: The user requests, by using the intelligent terminal, thepayment institution to activate a facial recognition payment function,and sends a facial feature and a payment account to the paymentinstitution.

For example, the payer 12 can apply for facial recognition paymentactivation on the smartphone 13 by using a payment institution client onthe phone, and send a payment account and a facial feature of the userto the payment institution. The payment account can help the paymentinstitution to identify the user, and the facial feature can be, forexample, shot by the user by using a camera of the mobile phone. Thefacial feature and the payment account can be received by the dataprocessing device 11 of the payment institution.

In the present step, the payment institution can further verify thefacial feature. For example, matching can be performed with a publicsecurity network. If the matching fails, facial recognition paymentcannot be activated, so no facial feature of another user is received.If the matching succeeds, step 302 is performed.

Step 302: The payment institution constructs a mapping relationshipbetween the facial feature and the payment account, and allocates acorresponding verification code to the user.

In this example, the verification code can be in a plurality of forms.For example, the verification code can be digits 0 to 9, or theverification code can be a combination of digits and letters. Forexample, it can be extended to hexadecimal 0 to 9 and A to F. Differentverification codes can be allocated to different payers. For example,when a payer U1 activates facial recognition payment, a verificationcode 000011 can be allocated to the payer U1. When a payer U2 activatesfacial recognition payment, a verification code 111235 can be allocatedto the payer U2.

In addition, the payment institution can obtain a verification code tobe allocated to the payer from a verification code set, and theverification code set includes a plurality of verification codes to beallocated to a payer set. When the number of payers in the payer setincreases, the number of digits of the verification code allocated tothe payer also increases. For example, initially, both the number ofregistered payers and the number of digits of the verification code inthe verification code set are small, and the verification code canusually be a six-digit verification code. As the number of registeredpayers increases, the original verification codes may be insufficient,and the number of digits of the verification code can be increased. Thatis, multi-digit verification codes with hexadecimal 0 to 9 and A to Fare allocated to users.

Step 304: The payment institution determines a facial feature databasecorresponding to the verification code.

In this example, different verification codes can be allocated todifferent people, and different verification codes are mapped todifferent facial feature databases, thereby separately storing facialfeatures of different people.

In an example, the data processing device 11 of the payment institutioncan use a hash mapping algorithm to generate a hash value by performinga hash function operation on a verification code, and determine a facialfeature database corresponding to the hash value as a facial featuredatabase corresponding to the verification code.

For example, if a target hash value is R₁R₂R₃ which has three digits,and a verification code is (num1, num2, num3, num4, num5, num6) whichhas six digits, a hash function for calculating a hash value by usingthe verification code is as follows: R₁=num3; R₂=a mantissa or positivefractional part of (num2+num4+num6); and R3=a mantissa or positivefractional part of (a prime number×num1+a prime number×num5).

It is worthwhile to note that the previous hash function is merely anexample, and there can be many types of hash functions. Details are notenumerated here. For example, there can be 1000 calculated hash values,and correspondingly, there are 1000 facial feature databases. Acorresponding hash value is calculated by using a verification code, anda facial feature database corresponding to the hash value can be used asa facial feature database corresponding to the verification code.

Step 306: The payment institution stores the facial feature registeredby the user in the facial feature database corresponding to theverification code allocated to the user.

For example, when the payer U1 activates facial recognition payment, thepayment institution allocates a verification code 000011 to the payerU1. A hash value is obtained by performing hash function calculation onthe verification code, and the facial feature transmitted by the payerU1 in step 300 is stored in a database corresponding to the hash value.

The user successfully activates the facial recognition payment functionby performing steps 300 to 306. In addition, different verificationcodes are allocated to different users, and the facial features ofdifferent users can be stored in different facial feature databases, sosimilar facial features can be separately stored.

For example, when the payer U1 and the payer U2 activate facialrecognition payment, a similarity between facial features (for example,the facial features can be facial images taken by the users by usingcameras) transmitted by the payer U1 and the payer U2 to the paymentinstitution is relatively high because of light, angle, makeup, etc. Thedata processing device of the payment institution can separately storethe facial features of the two payers in different databases, based ondifferent verification codes allocated to the payer U1 and the payer U2,so as to avoid confused facial feature matching when facial recognitionpayment is subsequently performed. However, different verification codescan also correspond to a same hash value, and consequently, the facialfeatures of different users can also be stored in a same facial featuredatabase.

The following describes how to apply the facial recognition paymentfunction to perform payment. If a user is shopping in a merchant'sstore, during payment, the user can select a facial recognition paymentfunction at a checkout counter 14 of the merchant when the checkoutcounter 14 supports facial recognition payment.

Step 308: The user enters the verification code into the checkoutcounter and provides a facial feature through facial recognition.

In the present step, the payer can provide the facial feature for thecheckout counter of the merchant, and the facial feature can be a facialfeature provided for the payment institution when facial recognitionpayment is activated.

Step 310: The checkout counter requests the payment institution toperform fee deduction for facial recognition payment, and sends thefacial feature and the verification code of the user received in step308.

Step 312: The payment institution determines the corresponding facialfeature database based on the verification code.

For example, the payment institution can obtain, by using a hashalgorithm, a hash value corresponding to the verification code based onthe verification code that is provided by the payer for the checkoutcounter of the merchant, and obtain the facial feature databasecorresponding to the hash value. In addition, when receiving a paymentrequest from the merchant, the payment institution can further verify atoken for security authentication.

Step 314: The payment institution compares facial features in the facialfeature database with the facial feature that is recognized based onfeature ranks, where the feature ranks are obtained after the facialfeatures are arranged based on usage frequency attributes of the facialfeatures, and a facial feature with higher usage frequency is preferablyused to perform matching and comparison.

In this example, facial features in the facial feature database can bearranged based on usage frequency attributes. For example, the usagefrequency attribute can include at least one of the following attributeparameters: the number of usage times and the latest usage time. Thenumber of usage times can be the number of successful matching timeswithin a period of time, and the latest usage time can be a time whenthe facial feature has recently been successfully matched. Certainly,the previous number of usage times and the latest usage time are merelyexamples of the usage frequency attribute, and there may be anotherusage frequency attribute.

For example, the facial features are arranged based on the number ofusage times and the latest usage time. The two parameters can beweighted to perform arrangement, and a recently matched facial featurewith the largest number of usage times is arranged in the front of thefacial feature database. For example, weighted summation can beperformed on at least two attribute parameters included in the usagefrequency attribute, such as the number of usage times and the latestusage time, and a value obtained through weighted summation can bereferred to as a frequency attribute value. The facial features can bearranged based on the frequency attribute value. For example, if highermatching success frequency indicates a larger frequency attribute value,the facial features can be arranged in descending order of frequencyattribute values. A facial feature with higher matching successfrequency (for example, with the larger number of successful matchingtimes or with the latest successful matching) is preferably used toperform matching and comparison based on the feature ranks. The facialfeatures are sequentially matched with the facial feature that isrecognized, and the facial feature that is recognized is the facialfeature of the payer received in step 310.

Step 316: When a matched facial feature is obtained, the paymentinstitution performs payment by using a payment account corresponding tothe facial feature.

In this example, when the facial feature that matches the payer issearched for in a facial feature database, a facial feature with higherusage frequency is preferably used to perform matching and comparison.As such, a matched facial feature can be quickly found, and the facialrecognition payment can be accelerated.

In addition, after the matched facial feature is obtained, a usagefrequency attribute of the facial feature can be updated. For example,the number of usage times of the matched facial feature can be increasedby one, and the latest usage time can be updated to a time when thelatest matching succeeds. The data processing device of the paymentinstitution can further rearrange the facial features in the facialfeature database based on the updated usage frequency attribute toarrange a facial feature with high frequency in the front.

In addition, the payment institution can further set a single maximum ora payment limit per day for the user in facial recognition payment tocontrol transaction risks, and it can further monitor transaction datain real time to detect a data exception and control risks.

Step 318: The payment institution feeds back a message indicating feededuction success to the intelligent terminal of the user.

In the facial recognition payment method in this example, the facialfeatures in the facial feature database are arranged based on face usagefrequency, and the feature ranks are updated during matching, therebyaccelerating facial recognition. In addition, different facial featurescan be separately stored in different facial feature databases based onthe verification codes. For example, similar facial featurescorresponding to different hash values are stored in different databasesto avoid an error in recognizing similar faces in facial recognition,and improve accuracy of facial recognition payment.

In the previous procedure of FIG. 3, not only different facial featuresare separately stored by using verification codes, but also a facialfeature with high usage frequency is arranged in the front. In anotherexample, one of the two following solutions can be used. For example,the facial features are not separately stored in different databases byusing verification codes, but a facial feature with high usage frequencyis arranged in the front, thereby accelerating the facial recognitionpayment. Alternatively, a facial feature with high usage frequency maynot be arranged in the front, but different facial features areseparately stored in different databases by using verification codes,thereby improving accuracy of facial recognition.

In another example, if the user forgets a verification code, the usercan re-apply for setting a new verification code. For example, the payercan send a verification code reset request to the payment institution byusing the intelligent terminal, and the data processing device of thepayment institution can re-allocate a new verification code to the payerbased on the verification code reset request. In addition, the facialfeature of the payer is stored in a facial feature databasecorresponding to the new verification code, and a facial feature in theoriginal facial feature database is deleted.

In another example, “verification codes and facial feature databasescorresponding to the verification codes” can further be set fordifferent merchants. For example, a certain merchant corresponds to Nfacial feature databases. Facial features of frequent visitors of themerchant can be stored in these databases, and verification codesallocated to the frequent visitors can be mapped to these facial featuredatabases. For example, when the payer applies for payment, a merchantID of the merchant can be included in addition to the verification code.Based on the merchant ID, the data processing device of the paymentinstitution can search for a facial feature database corresponding tothe verification code in the N facial feature databases.

To implement the previous biometric feature database constructingmethod, one or more implementations of the present specification furtherprovide a biometric feature database constructing apparatus. Theapparatus can be, for example, the data processing device 11 of thepayment institution in FIG. 2, so the data processing device 11 canexecute the facial recognition payment method in the one or moreimplementations of the present specification. As shown in FIG. 4, theapparatus can include a parameter acquisition module 41 and a featurearrangement module 42.

The parameter acquisition module 41 is configured to obtain a usagefrequency attribute of each biometric feature in a biometric featuredatabase, where the usage frequency attribute is used to indicatematching success frequency of the biometric feature.

The feature arrangement module 42 is configured to arrange the biometricfeatures in descending order of matching success frequency based on theusage frequency attribute, so a biometric feature with higher frequencyis preferably used to perform recognition, matching, and comparison.

In an example, the parameter acquisition module 41 is configured toobtain at least one of the following attribute parameters of eachbiometric feature: the number of usage times and the latest usage time.

In an example, the feature arrangement module 42 is configured toperform weighted summation on the at least two attribute parameters toobtain a frequency attribute value when the usage frequency attributeincludes at least two attribute parameters; and arrange the biometricfeatures based on the frequency attribute value.

As shown in FIG. 5, the apparatus can further include a matching andcomparison module 43, configured to compare the biometric features witha biometric feature that is recognized based on feature ranks in thebiometric feature database, where a biometric feature with highermatching success frequency is preferably used to perform matching andcomparison.

The parameter acquisition module 41 is further configured to update ausage frequency attribute of the biometric feature after a matchedbiometric feature is obtained.

The feature arrangement module 42 is further configured to rearrange thebiometric features in the biometric feature database based on theupdated usage frequency attribute.

The apparatuses or modules described in the previous implementations canbe implemented by a computer chip or an entity or can be implemented bya product with a certain function. A typical implementation device is acomputer, and the computer can be a personal computer, a laptopcomputer, a cellular phone, a camera phone, an intelligent phone, apersonal digital assistant, a media player, a navigation device, anemail receiving and sending device, a game console, a tablet computer, awearable device, or any combination of these devices.

For ease of description, the previous apparatus is described by dividingthe functions into various modules. Certainly, in the one or moreimplementations of the present specification, a function of each modulecan be implemented in one or more pieces of software and/or hardware.

An execution sequence of the steps in the procedure shown in FIG. 3 isnot limited to a sequence in the flowchart. In addition, descriptions ofsteps can be implemented in the form of software, hardware, or acombination thereof. For example, a person skilled in the art canimplement the descriptions in the form of software code, and the codecan be a computer executable instruction that can implement logicalfunctions corresponding to the steps. When implemented in a softwareform, the executable instruction can be stored in a memory and executedby a processor in a device.

For example, corresponding to the previous method, the one or moreimplementations in the present specification provide a data processingdevice, and the device can be, for example, the data processing device11 of the payment institution in FIG. 2. The device can include aprocessor, a memory, and a computer instruction. The computerinstruction is stored in the memory and can run on the processor, andthe processor executes the instruction to implement the following steps:obtaining a usage frequency attribute of each biometric feature in abiometric feature database, where the usage frequency attribute is usedto indicate matching success frequency of the biometric feature; andarranging the biometric features in descending order of matching successfrequency based on the usage frequency attribute, so a biometric featurewith higher frequency is preferably used to perform recognition,matching, and comparison.

It is worthwhile to note that the term “include”, “have”, or their anyother variant is intended to cover a non-exclusive inclusion, so aprocess, a method, a commodity, or a device that includes a series ofelements not only includes those elements but also includes otherelements that are not expressly listed, or further includes elementsinherent to such process, method, commodity, or device. An elementdescribed by “includes a . . . ” further includes, without moreconstraints, another identical element in the process, method,commodity, or device that includes the element.

A person skilled in the art should understand that the one or moreimplementations of the present specification can be provided as amethod, a system, or a computer program product. Therefore, the one ormore implementations of the present specification can be hardware onlyimplementations, software only implementations, or implementations witha combination of software and hardware. Moreover, the one or moreimplementations of the present specification can use a form of acomputer program product implemented on one or more computer-usablestorage media (including but not limited to a magnetic disk memory, aCD-ROM, an optical memory, etc.) that include computer-usable programcode.

The one or more implementations of the present specification can bedescribed in the general context of an executable computer instructionexecuted by a computer, for example, a program module. Generally, theprogram module includes a routine, a program, an object, a component, adata structure, etc., for executing a particular task or implementing aparticular abstract data type. The one or more implementations of thepresent specification can also be practiced in distributed computingenvironments. In the distributed computing environments, tasks areperformed by remote processing devices that are connected through acommunications network. In a distributed computing environment, theprogram module can be located in both local and remote computer storagemedia including storage devices.

The implementations in the present specification are described in aprogressive way. For same or similar parts in the implementations,reference can be made to these implementations. Each implementationfocuses on a difference from other implementations. Particularly, a dataprocessing device implementation is similar to a method implementation,and therefore, is described briefly. For related parts, reference can bemade to partial descriptions in the method implementation.

The implementations of the present specification are described above.Other implementations fall within the scope of the appended claims. Insome cases, the actions or steps described in the claims can beperformed in an order different from that in the implementations and thedesired results can still be achieved. In addition, the process depictedin the accompanying drawings is not necessarily shown in a particularorder to achieve the desired results. In some implementations, multitaskprocessing and parallel processing can be performed or can beadvantageous.

The previous descriptions are only example implementations of the one ormore implementations of the present specification, but are not intendedto limit one or more implementations of the present specification. Anymodification, equivalent replacement, improvement, etc. made withoutdeparting from the spirit and principle of the one or moreimplementations of the present specification shall fall within theprotection scope of the one or more implementations of the presentspecification.

FIG. 6 is a flowchart illustrating an example of a computer-implementedmethod 600 for identifying and providing prioritized access to biometricfeatures based on usage frequency, according to an implementation of thepresent disclosure. For clarity of presentation, the description thatfollows generally describes method 600 in the context of the otherfigures in this description. However, it will be understood that method600 can be performed, for example, by any system, environment, software,and hardware, or a combination of systems, environments, software, andhardware, as appropriate. In some implementations, various steps ofmethod 600 can be run in parallel, in combination, in loops, or in anyorder.

At 602, a usage frequency attribute is determined for each biometricfeature in a biometric feature database. The usage frequency attributeindicates a matching success frequency of matching the biometric featureto a user having the biometric feature. The biometric feature can be,for example, a facial feature. The matching success frequency canidentify, for example, a number of times or a success percentage thatfacial recognition or other types of biometric techniques have matched auser to their biometric information.

In some implementations, the usage frequency attribute can be amathematical function of at least one of a number of times that thebiometric feature has been requested or a most recent usage time thatthe biometric feature was matched. For example, a score can bemathematically computed that is based on usage frequencies or successrates. Scores can also be affected by how recently various types ofbiometric features have led to matches. From 602, method 600 proceeds to604.

At 604, the biometric features of the user are sorted in descendingorder of the usage frequency attribute. The sorting can be based, forexample, on a descending order of the usage frequency attributes for agiven user.

In some implementations, sorting the biometric features of the user indescending order of the usage frequency attribute can include a use ofweighted summations for the sorting. For example, a weighted summationcan be performed on at least two usage frequency attributes forbiometric features to obtain a frequency attribute value when the usagefrequency attribute comprises at least two usage frequency attributes.In some implementations, a weighted summation can be performed on atleast two attribute parameters included in the usage frequencyattribute, such as the number of usage times and the latest usage time.A value obtained through weighted summation can be referred to as afrequency attribute value. The biometric features can then be sortedbased on the weighted summation. From 604, method 600 proceeds to 606.

At 606, the biometric features in the biometric feature database arestored in descending order. The storing includes providing prioritizedaccess to the biometric feature having a highest value of the usagefrequency attribute so that the biometric feature is selected first inresponse to a request for the biometric feature of the user. After 606,method 600 stops.

In some implementations, method 600 can further include steps forcomparing and rearranging biometric features. For example, a givenbiometric feature of the user can be compared with a given a biometricfeature in the biometric feature database. A usage frequency attributeof the given biometric feature can be updated when a match is determinedbased on the comparison. The biometric features in the biometric featuredatabase can be rearranged based on an updated usage frequencyattribute. For example, the database can be tuned to cause the selectionof high-success rate biometric features over less successful biometricfeatures.

In some implementations, method 600 can further include steps forperforming a payment based on a comparison of a facial feature. Forexample, a facial feature of a payer can be obtained. The obtainedfacial feature of a payer can be compared with the facial features in afacial feature database. When a matched facial feature is obtained, apayment is performed by using a payment account corresponding to thefacial feature. For example, the person who is about to pay for an order(or pick up an order) can be verified using biometric techniques.

In some implementations, method 600 can further include steps fordetermining a facial feature that is to be used based on a verificationcode. For example, a verification code allocated to the payer can beobtained from different verification codes that are allocated todifferent payers. A particular facial feature database to be used forcomparing facial features can be determined based on the verificationcode and from a set of facial feature databases. For example, the facialfeatures of a customer who is about to complete a transaction can bechecked based on a verification code associated with one or more of thecustomer and the transaction. The verification code can be supplied bythe customer, scanned by scanners in the vicinity of the customer,obtained from the Internet, or provided in some other way.

The present disclosure describes techniques for identifying andproviding prioritized access to biometric features based on usagefrequency and success rates. For example, not all biometric featureshave the same success rate or usage frequency during the process ofverifying or identifying a human being, such as a user, a customer, oran employee. A higher success rate and improved security can be achievedif, for example, highest-frequency or highest-success rate biometricfeatures are arranged in the database for prioritized selection overless effective biometric features.

Embodiments and the operations described in this specification can beimplemented in digital electronic circuitry, or in computer software,firmware, or hardware, including the structures disclosed in thisspecification or in combinations of one or more of them. The operationscan be implemented as operations performed by a data processingapparatus on data stored on one or more computer-readable storagedevices or received from other sources. A data processing apparatus,computer, or computing device may encompass apparatus, devices, andmachines for processing data, including by way of example a programmableprocessor, a computer, a system on a chip, or multiple ones, orcombinations, of the foregoing. The apparatus can include specialpurpose logic circuitry, for example, a central processing unit (CPU), afield programmable gate array (FPGA) or an application-specificintegrated circuit (ASIC). The apparatus can also include code thatcreates an execution environment for the computer program in question,for example, code that constitutes processor firmware, a protocol stack,a database management system, an operating system (for example anoperating system or a combination of operating systems), across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known, for example, as a program, software,software application, software module, software unit, script, or code)can be written in any form of programming language, including compiledor interpreted languages, declarative or procedural languages, and itcan be deployed in any form, including as a stand-alone program or as amodule, component, subroutine, object, or other unit suitable for use ina computing environment. A program can be stored in a portion of a filethat holds other programs or data (for example, one or more scriptsstored in a markup language document), in a single file dedicated to theprogram in question, or in multiple coordinated files (for example,files that store one or more modules, sub-programs, or portions ofcode). A computer program can be executed on one computer or on multiplecomputers that are located at one site or distributed across multiplesites and interconnected by a communication network.

Processors for execution of a computer program include, by way ofexample, both general- and special-purpose microprocessors, and any oneor more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random-access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data. A computer can be embedded in another device, for example,a mobile device, a personal digital assistant (PDA), a game console, aGlobal Positioning System (GPS) receiver, or a portable storage device.Devices suitable for storing computer program instructions and datainclude non-volatile memory, media and memory devices, including, by wayof example, semiconductor memory devices, magnetic disks, andmagneto-optical disks. The processor and the memory can be supplementedby, or incorporated in, special-purpose logic circuitry.

Mobile devices can include handsets, user equipment (UE), mobiletelephones (for example, smartphones), tablets, wearable devices (forexample, smart watches and smart eyeglasses), implanted devices withinthe human body (for example, biosensors, cochlear implants), or othertypes of mobile devices. The mobile devices can communicate wirelessly(for example, using radio frequency (RF) signals) to variouscommunication networks (described below). The mobile devices can includesensors for determining characteristics of the mobile device's currentenvironment. The sensors can include cameras, microphones, proximitysensors, GPS sensors, motion sensors, accelerometers, ambient lightsensors, moisture sensors, gyroscopes, compasses, barometers,fingerprint sensors, facial recognition systems, RF sensors (forexample, Wi-Fi and cellular radios), thermal sensors, or other types ofsensors. For example, the cameras can include a forward- or rear-facingcamera with movable or fixed lenses, a flash, an image sensor, and animage processor. The camera can be a megapixel camera capable ofcapturing details for facial and/or iris recognition. The camera alongwith a data processor and authentication information stored in memory oraccessed remotely can form a facial recognition system. The facialrecognition system or one-or-more sensors, for example, microphones,motion sensors, accelerometers, GPS sensors, or RF sensors, can be usedfor user authentication.

To provide for interaction with a user, embodiments can be implementedon a computer having a display device and an input device, for example,a liquid crystal display (LCD) or organic light-emitting diode(OLED)/virtual-reality (VR)/augmented-reality (AR) display fordisplaying information to the user and a touchscreen, keyboard, and apointing device by which the user can provide input to the computer.Other kinds of devices can be used to provide for interaction with auser as well; for example, feedback provided to the user can be any formof sensory feedback, for example, visual feedback, auditory feedback, ortactile feedback; and input from the user can be received in any form,including acoustic, speech, or tactile input. In addition, a computercan interact with a user by sending documents to and receiving documentsfrom a device that is used by the user; for example, by sending webpages to a web browser on a user's client device in response to requestsreceived from the web browser.

Embodiments can be implemented using computing devices interconnected byany form or medium of wireline or wireless digital data communication(or combination thereof), for example, a communication network. Examplesof interconnected devices are a client and a server generally remotefrom each other that typically interact through a communication network.A client, for example, a mobile device, can carry out transactionsitself, with a server, or through a server, for example, performing buy,sell, pay, give, send, or loan transactions, or authorizing the same.Such transactions may be in real time such that an action and a responseare temporally proximate; for example an individual perceives the actionand the response occurring substantially simultaneously, the timedifference for a response following the individual's action is less than1 millisecond (ms) or less than 1 second (s), or the response is withoutintentional delay taking into account processing limitations of thesystem.

Examples of communication networks include a local area network (LAN), aradio access network (RAN), a metropolitan area network (MAN), and awide area network (WAN). The communication network can include all or aportion of the Internet, another communication network, or a combinationof communication networks. Information can be transmitted on thecommunication network according to various protocols and standards,including Long Term Evolution (LTE), 5G, IEEE 802, Internet Protocol(IP), or other protocols or combinations of protocols. The communicationnetwork can transmit voice, video, biometric, or authentication data, orother information between the connected computing devices.

Features described as separate implementations may be implemented, incombination, in a single implementation, while features described as asingle implementation may be implemented in multiple implementations,separately, or in any suitable sub-combination. Operations described andclaimed in a particular order should not be understood as requiring thatthe particular order, nor that all illustrated operations must beperformed (some operations can be optional). As appropriate,multitasking or parallel-processing (or a combination of multitaskingand parallel-processing) can be performed.

What is claimed is:
 1. A computer-implemented method, comprising:determining a usage frequency attribute for each biometric feature in abiometric feature database, wherein the usage frequency attributeindicates a matching success frequency of matching the biometric featureto a user having the biometric feature; sorting, based on a descendingorder of the usage frequency attributes for a given user, the biometricfeatures of the user in descending order of the usage frequencyattribute; and storing the biometric features in the biometric featuredatabase in descending order, including providing prioritized access tothe biometric feature having a highest value of the usage frequencyattribute so that the biometric feature is selected first in response toa request for the biometric feature of the user.
 2. Thecomputer-implemented method of claim 1, wherein the usage frequencyattribute is a mathematical function of at least one of a number oftimes that the biometric feature has been requested or a most recentusage time that the biometric feature was matched.
 3. Thecomputer-implemented method of claim 1, wherein sorting the biometricfeatures of the user in descending order of the usage frequencyattribute comprises: performing a weighted summation on at least twousage frequency attributes for biometric feature to obtain a frequencyattribute value when the usage frequency attribute comprises at leasttwo usage frequency attributes; and sorting the biometric features basedon the weighted summation.
 4. The computer-implemented method of claim1, further comprising: comparing a given biometric feature of the userwith a given a biometric feature in the biometric feature database;updating a usage frequency attribute of the given biometric feature whena match is determined based on the comparison; and rearranging thebiometric features in the biometric feature database based on theupdated usage frequency attribute.
 5. The computer-implemented method ofclaim 1, wherein the biometric feature is a facial feature.
 6. Thecomputer-implemented method of claim 1, further comprising: obtaining afacial feature of a payer; comparing the obtained facial feature of apayer with the facial features in a facial feature database; and when amatched facial feature is obtained, performing a payment by using apayment account corresponding to the facial feature.
 7. Thecomputer-implemented method of claim 6, further comprising: obtaining averification code allocated to the payer, wherein different verificationcodes are allocated to different payers; and determining, based on theverification code and from a set of facial feature databases, aparticular facial feature database to be used for comparing facialfeatures.
 8. A non-transitory, computer-readable medium storing one ormore instructions executable by a computer system to perform operationscomprising: determining a usage frequency attribute for each biometricfeature in a biometric feature database, wherein the usage frequencyattribute indicates a matching success frequency of matching thebiometric feature to a user having the biometric feature; sorting, basedon a descending order of the usage frequency attributes for a givenuser, the biometric features of the user in descending order of theusage frequency attribute; and storing the biometric features in thebiometric feature database in descending order, including providingprioritized access to the biometric feature having a highest value ofthe usage frequency attribute so that the biometric feature is selectedfirst in response to a request for the biometric feature of the user. 9.The non-transitory, computer-readable medium of claim 8, wherein theusage frequency attribute is a mathematical function of at least one ofa number of times that the biometric feature has been requested or amost recent usage time that the biometric feature was matched.
 10. Thenon-transitory, computer-readable medium of claim 8, wherein sorting thebiometric features of the user in descending order of the usagefrequency attribute comprises: performing a weighted summation on atleast two usage frequency attributes for biometric feature to obtain afrequency attribute value when the usage frequency attribute comprisesat least two usage frequency attributes; and sorting the biometricfeatures based on the weighted summation.
 11. The non-transitory,computer-readable medium of claim 8, further comprising: comparing agiven biometric feature of the user with a given a biometric feature inthe biometric feature database; updating a usage frequency attribute ofthe given biometric feature when a match is determined based on thecomparison; and rearranging the biometric features in the biometricfeature database based on the updated usage frequency attribute.
 12. Thenon-transitory, computer-readable medium of claim 8, wherein thebiometric feature is a facial feature.
 13. The non-transitory,computer-readable medium of claim 8, further comprising: obtaining afacial feature of a payer; comparing the obtained facial feature of apayer with the facial features in a facial feature database; and when amatched facial feature is obtained, performing a payment by using apayment account corresponding to the facial feature.
 14. Thenon-transitory, computer-readable medium of claim 13, furthercomprising: obtaining a verification code allocated to the payer,wherein different verification codes are allocated to different payers;and determining, based on the verification code and from a set of facialfeature databases, a particular facial feature database to be used forcomparing facial features.
 15. A computer-implemented system,comprising: one or more computers; and one or more computer memorydevices interoperably coupled with the one or more computers and havingtangible, non-transitory, machine-readable media storing one or moreinstructions that, when executed by the one or more computers, performone or more operations comprising: determining a usage frequencyattribute for each biometric feature in a biometric feature database,wherein the usage frequency attribute indicates a matching successfrequency of matching the biometric feature to a user having thebiometric feature; sorting, based on a descending order of the usagefrequency attributes for a given user, the biometric features of theuser in descending order of the usage frequency attribute; and storingthe biometric features in the biometric feature database in descendingorder, including providing prioritized access to the biometric featurehaving a highest value of the usage frequency attribute so that thebiometric feature is selected first in response to a request for thebiometric feature of the user.
 16. The computer-implemented system ofclaim 15, wherein the usage frequency attribute is a mathematicalfunction of at least one of a number of times that the biometric featurehas been requested or a most recent usage time that the biometricfeature was matched.
 17. The computer-implemented system of claim 15,wherein sorting the biometric features of the user in descending orderof the usage frequency attribute comprises: performing a weightedsummation on at least two usage frequency attributes for biometricfeature to obtain a frequency attribute value when the usage frequencyattribute comprises at least two usage frequency attributes; and sortingthe biometric features based on the weighted summation.
 18. Thecomputer-implemented system of claim 15, further comprising: comparing agiven biometric feature of the user with a given a biometric feature inthe biometric feature database; updating a usage frequency attribute ofthe given biometric feature when a match is determined based on thecomparison; and rearranging the biometric features in the biometricfeature database based on the updated usage frequency attribute.
 19. Thecomputer-implemented system of claim 15, wherein the biometric featureis a facial feature.
 20. The computer-implemented system of claim 15,further comprising: obtaining a facial feature of a payer; comparing theobtained facial feature of a payer with the facial features in a facialfeature database; and when a matched facial feature is obtained,performing a payment by using a payment account corresponding to thefacial feature.